package cn.bugstack.domain.activity.adapter.repository;

import cn.bugstack.domain.activity.model.entity.UserGroupBuyOrderDetailEntity;
import cn.bugstack.domain.activity.model.valobj.GroupBuyActivityDiscountVO;
import cn.bugstack.domain.activity.model.valobj.SCSkuActivityVO;
import cn.bugstack.domain.activity.model.valobj.SkuVO;
import cn.bugstack.domain.activity.model.valobj.TeamStatisticVO;

import java.util.List;

/**
 * 仓储接口
 * @author hsj
 * @date 2025/2/14 9:27
 */
public interface IActivityRepository {

	GroupBuyActivityDiscountVO queryGroupBuyActivityDiscountVO(Long activityId);

	SkuVO querySkuByGoodsId(String goodsId);


	SCSkuActivityVO  querySCSkuActivityBySCGoodsId(String source,String channel,String goodsId);


	boolean isTagCrowdRange(String tagId, String userId);


	boolean downgradeSwitch();

	boolean cutRange(String userId);

    List<UserGroupBuyOrderDetailEntity> queryInProgressUserGroupBuyOrderDetailListByOwner(Long activityId, String userId, Integer ownerCount);

	List<UserGroupBuyOrderDetailEntity> queryInProgressUserGroupBuyOrderDetailListByRandom(Long activityId, String userId, Integer randomCount);

	TeamStatisticVO queryTeamStatisticByActivityId(Long activityId);
}
